Don't jump through null {rd,wr}_inits
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Fri, 16 Apr 2004 16:18:52 +0000 (16:18 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Fri, 16 Apr 2004 16:18:52 +0000 (16:18 +0000)
gpsbabel/main.c

index efcfbb25be22f24f15f4d0ff69434654b29ce425..f199b89084628826f0a984eeae1419a670172bd9 100644 (file)
@@ -141,6 +141,9 @@ main(int argc, char *argv[])
                                if (ivecs == NULL) {
                                        fatal ("No valid input type specified\n");
                                }
+                               if (ivecs->rd_init == NULL) {
+                                       fatal ("Format does not support reading.\n");
+                               }
                                ivecs->rd_init(fname);
                                ivecs->read();
                                ivecs->rd_deinit();
@@ -151,6 +154,9 @@ main(int argc, char *argv[])
                                        ? argv[argn]+2 : argv[++argn];
                                ofname = optarg;
                                if (ovecs) {
+                                       if (ovecs->rd_init == NULL) {
+                                               fatal ("Format does not support reading.\n");
+                                       }
                                        ovecs->wr_init(ofname);
                                        ovecs->write();
                                        ovecs->wr_deinit();